﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace SystemUpdatesCore
{

    /// <summary>
    /// object与json扩展
    /// </summary>
    public static class JsonSerializerExtensions
    {

        /// <summary>
        /// 序列化 默认序列化器，仅支持 asnii编码 格式，以提升效率,使用时注意转码
        /// </summary>
        /// <param name="JsonString"></param>
        /// <returns></returns>
        public static string ToString<TValue>(this TValue obj)
        {
            //序列化 默认序列化器，仅支持 asnii编码 格式，以提升效率,使用时注意转码
            string strJson = JsonSerializer.Serialize(obj);
            return strJson;
        }

        /// <summary>
        /// 反序列化
        /// </summary>
        /// <param name="JsonString"></param>
        /// <returns></returns>
        public static TValue ToObject<TValue>(this string jsonString)
        {
            var value = JsonSerializer.Deserialize<TValue>(jsonString);
            return value;
        }
    }
}

